Thực đơn
Sắp xếp trộn Sắp xếp trộn đệ quyMột cách gọi đệ quy của sắp xếp trộn cũng thường được hướng dẫn trong các giáo trình giải thuật.
Để sắp xếp trộn đoạn a [ k 1 . . k 2 ] {\displaystyle a[k_{1}..k_{2}]} của danh sách a [ 1.. n ] {\displaystyle a[1..n]} ta chia đoạn đó thành 2 phần a [ k 1 . . k 3 ] {\displaystyle a[k_{1}..k_{3}]} và a [ k 3 + 1.. k 2 ] {\displaystyle a[k_{3}+1..k_{2}]} ,trong đó k 3 = i n t ( ( k 1 + k 2 ) / 2 ) {\displaystyle k_{3}=int((k_{1}+k_{2})/2)} tiến hành sắp xếp với mỗi phần rồi trộn chúng lại. Lời gọi thủ tục sắp xếp trộn với a [ 1.. n ] {\displaystyle a[1..n]} sẽ cho kết quả là sắp toàn bộ danh sách a [ 1.. n ] {\displaystyle a[1..n]}
Ví dụ: Cho danh sách a = [ 2 , 7 , 6 , 3 , 4 , 5 , 1 ] {\displaystyle a=[2,7,6,3,4,5,1]}
Giải thuật trộn đệ quy chia a thành hai danh sách con và tiến hành 3 bướcDanh sách trái | Danh sách phải |
2,7,6 | 3,4,5,1 |
Quá trình chia | Quá trình trộn | |||||
2,7,6 | 2,6,7 | |||||
2 | 7,6 | 2 | 6,7 | |||
2 | 7 | 6 | 2 | 7 | 6 |
Quá trình chia | Quá trình trộn | |||||||
3,4,5,1 | 1,3,4,5 | |||||||
3,4 | 5,1 | 3,4 | 1,5 | |||||
3 | 4 | 5 | 1 | 3 | 4 | 5 | 1 |
Danh sách trái | Danh sách phải | Danh sách trộn |
2,6,7 | 1,3,4,5 | 1,2,3,4,5,6,7 |
Thực đơn
Sắp xếp trộn Sắp xếp trộn đệ quyLiên quan
Tài liệu tham khảo
WikiPedia: Sắp xếp trộn http://www.yorku.ca/sychen/research/sorting/index.... http://www.sorting-algorithms.com/merge-sort http://www.nist.gov/dads/HTML/mergesort.html http://opendatastructures.org/versions/edition-0.1...